/*
 * 文件名：ICommonConfigService.java 描述： 修改人：Administrator 修改时间：2016年5月10日 跟踪单号： 修改单号： 修改内容：
 */

package com.zcsy.manage.service.base;


import java.util.List;

import com.zcsy.manage.model.base.CommonConfig;


/**
 * @Title: ICommonConfigService.java
 * @Package： com.zcsy.manage.service.base
 * @Description: 配置信息service层
 * @author xujl
 * @Copyright: 2016 武汉中财数元信息技术有限公司 All rights reserved.
 * @date 2016年5月10日
 * @version 1.0
 * @see JDK1.7.0_75
 * @since
 */
public interface ICommonConfigService {

    /**
     * @Description 更新配置信息<br>
     * @param config
     *            配置信息对象
     * @return 1：更新成功 0：更新失败
     * @author xujl
     * @date 2016年5月10日
     * @see
     */
    int update(CommonConfig config);

    /**
     * @Description 根据主键id获取配置信息<br>
     * @param id
     *            主键id
     * @return 配置信息
     * @author xujl
     * @date 2016年5月10日
     * @see
     */
    CommonConfig selectByPrimaryKey(String id);

    /**
     * @Description 获取所有配置信息<br>
     * @return 配置信息列表
     * @author xujl
     * @date 2016年5月10日
     * @see
     */
    List<CommonConfig> getAllList();

    /**
     * @Description 根据关键字获取配置信息列表
     * @param record
     *            配置对象
     * @return 配置信息列表
     * @author xujl
     * @date 2016年5月11日
     * @see
     */
    List<CommonConfig> selectByKeyword(CommonConfig record);

    /**
     * @Description 根据唯一标识name获取配置信息
     * @param name
     *            名称
     * @return 配置信息
     * @author xujl
     * @date 2016年5月10日
     * @see
     */
    CommonConfig getByName(String name);
    
    /**
     * @description 根据描述获得小区积分配置
     * @param description 描述
     * @return
     * Integer 积分最大值
     * @author chenxin
     * @date 2016年8月30日下午8:29:16
     */
    Integer getIntegralMaxValueOfCell (String description);
    
    /**
     * @description 新增小区时，在后台插入初始化数据,插入value为字符串型的
     * @param commonConfig 公共配置对象
     * @author chenxin
     * @date 2016年9月1日下午6:59:01
     */
    int insert(Integer configType,String label,String name,String value,String cellId);
    
    /**
     * @description 新增小区时，在后台插入初始化数据,插入value为integer类型的
     * @param configType 公共配置对象
     * @param label 标签
     * @param name 名字
     * @param value 值
     * @param cellId 小区id
     * @return
     * int
     * @author chenxin
     * @date 2016年9月23日上午10:57:09
     */
    int insertValueOfInteger(Integer configType,String label,String name,Integer value,String cellId);

}
